using Nop.Core.Domain.Stores;
using System.Collections.Generic;

namespace Nop.Services.Stores
{
    /// <summary>
    /// Store template service interface
    /// </summary>
    public partial interface IStoreTemplateService
    {
        /// <summary>
        /// Delete store template
        /// </summary>
        /// <param name="storeTemplate">store template</param>
        void DeleteStoreTemplate(StoreTemplate storeTemplate);

        /// <summary>
        /// Gets all store templates
        /// </summary>
        /// <returns>Store templates</returns>
        IList<StoreTemplate> GetAllStoreTemplates();

        /// <summary>
        /// Gets a store template
        /// </summary>
        /// <param name="storeTemplateId">Store template identifier</param>
        /// <returns>Store template</returns>
        StoreTemplate GetStoreTemplateById(int storeTemplateId);

        /// <summary>
        /// Inserts store template
        /// </summary>
        /// <param name="storeTemplate">Store template</param>
        void InsertStoreTemplate(StoreTemplate storeTemplate);

        /// <summary>
        /// Updates the store template
        /// </summary>
        /// <param name="storeTemplate">Store template</param>
        void UpdateStoreTemplate(StoreTemplate storeTemplate);
    }
}
